$(function () {
    var layer = layui.layer;
    var form = layui.form;
    var laypage = layui.laypage;

    // 配置请求参数对象 p

    var p = {
        pagenum: 1,
        pagesize: 2,
        cate_id: '',
        state: ''
    }

    initTable();

    initCate();

    // 获取后天数据列表
    function initTable() {
        $.ajax({
            method: 'GET',
            url: '/my/article/list',
            data: p,
            success: function (res) {
                if (res.code !== 0) {
                    return layer.msg(res.message)
                }

                // 模板引擎渲染页面
                var htmlStr = template('tpl-table', res)
                $('tbody').html(htmlStr)
                renderPage(res.total)
            }
        })
    }
    // 获取文章分类
    function initCate() {
        $.ajax({
            method: 'GET',
            url: '/my/cate/list',
            success: function (res) {
                if (res.code !== 0) {
                    return layer.msg(res.message)
                }
                // console.log(res);

                var html_str = template('tpl-cate', res)
                // console.log(html_str);
                $('[name="cate_id"]').html(html_str)
                form.render()
            }
        })
    }
    // 给筛选表单模块绑定submit事件
    $('#form-search').on('submit', function (e) {
        e.preventDefault();
        var cate_id = $('[name="cate_id"]').val();
        var state = $('[name="state"]').val();
        p.cate_id = cate_id;
        p.state = state;
        initTable()
    })

    // 定义渲染分页方法
    function renderPage(total) {
        // 调用laypage.render()渲染分页
        laypage.render({
            elem: 'pageBox',
            count: total,
            limit: p.pagesize,
            curr: p.pagenum,
            layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
            limits: [2, 3, 5, 10],
            // 触发jump回调的方式有两种
            // 1、点击页码的时候会触发jump
            // 2、只要调用laypage.render()就会触发
            jump: function (obj, first) {
                console.log(obj.curr);
                p.pagenum = obj.curr
                p.pagesize = obj.limit
                if (!first) {
                    initTable()
                }
            }

        })
    }

    $('tbody').on('click', '.del-cate', function () {
        var id = $(this).attr('data-id')
        var len = $('.del-cate').length;
        console.log(len);
        layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
            $.ajax({
                method: 'DELETE',
                url: '/my/article/info/?id=' + id,
                success: function (res) {
                    if (res.code !== 0) {
                        return layer.msg(res.message)
                    }
                    layer.msg(res.message)
                    layer.close(index);
                    p.pagenum = p.pagenum === 1 ? 1 : p.pagenum - 1;
                    initTable();
                }
            })


        });
    })

    // 美化时间过滤器
    template.defaults.imports.dataFormat = function (date) {
        const dt = new Date(date)
        var y = dt.getFullYear();
        var m = padZero(dt.getMonth() + 1);
        var d = padZero(dt.getDate());
        var hh = padZero(dt.getHours());
        var mm = padZero(dt.getMinutes());
        var ss = padZero(dt.getSeconds());
        return y + '-' + m + '-' + d + ' ' + hh + ':' + mm + ':' + ss

    }
    function padZero(n) {
        return n > 9 ? n : '0' + n
    }
})